[Improvement-18443][API&DAO] Optimize WorkflowInstanceMapper to exclude large text fields from list queries - #18444
Open
njnu-seafish wants to merge 3 commits into
Open
[Improvement-18443][API&DAO] Optimize WorkflowInstanceMapper to exclude large text fields from list queries#18444njnu-seafish wants to merge 3 commits into
njnu-seafish wants to merge 3 commits into
Conversation
Contributor
Author
Contributor
Author
@SbloodyS This error seems to be a frontend issue during the E2E test and is likely unrelated to my changes. Could you please help re-trigger the CI? Thanks a lot!
|
Member
|
CI has been reruned. @njnu-seafish |
SbloodyS
requested changes
Aug 5, 2026
SbloodyS
left a comment
Member
There was a problem hiding this comment.
public API response contract is unintentionally changed
queryWorkflowInstanceListPaging, queryTopNWorkflowInstance, and queryByTriggerCode now use listSql, but their results are returned directly by public API endpoints as WorkflowInstance objects.
Consequently, these previously populated response properties will become null or be omitted:
commandParamglobalParamshistoryCmdvarPoolstateHistory
This is therefore not only an internal DAO optimization—it changes the existing API response contract and may break API consumers.
Please either:
- Keep using
baseSqlfor queries whose entities are returned directly by public APIs; or - Introduce an explicit lightweight response DTO, document the incompatible API change, and add controller-level response regression tests.
The critical runtime queries reverted to baseSql look correct, but this public API compatibility issue remains blocking.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Was this PR generated or assisted by AI?
YES. Leverage LLMs to verify that the removed large text fields are indeed unused.
Purpose of the pull request
close #18443
Brief change log
The WorkflowInstanceMapper was returning all fields including large text/longtext fields (command_param, global_params, history_cmd, var_pool, state_history) for all queries,which caused unnecessary database I/O, network transfer, and memory usage. This commit adds a dedicated listSql SQL fragment that excludes these large fields, and updates the following list query methods to use them:
Verify this pull request
This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(or)
Pull Request Notice
Pull Request Notice
If your pull request contains incompatible change, you should also add it to
docs/docs/en/guide/upgrade/incompatible.md